Firebase Hosting
開始手順
$ firebase init hosting
projectなどは、gcloudなどで設定しておく。
$ vim firebase.json
publicフォルダを、Vue.jsなら distに変える。デフォルトは public: 'public'になってるので。
$ firebase hosting
運用としては、
live, preview(複数) チャネルで運用できるので、活用する。
previewは7日で期限きれる。
サイトのライブおよびプレビューチャネル、リリース、バージョンを管理します  |  Firebase
https://gyazo.com/1944454ef939bb8a67ce2a9dc272af41
制約
ipアドレス制限などができない。
firewall, httpサーバーでやるものは、できない。
Hosting 動作をカスタマイズする  |  Firebase
404対応, redirect, rewrite, (一定の?)response header付与などが出来る。
rewriteで Google Cloud Functionsにつないで
DDOS attackなどで、google側が対策してくれるようだが、、よくわからない。
静的ファイルがおけるだけなので...
真価の発揮は、Firebaseのauth, firestore, cloud functionなどと連携して
簡単なユーザー登録とフォームでの受付をつくりたい。
auth
quickstart-js/email-password.html at master · firebase/quickstart-js
form
javascript - How do I make mail contact form in Firebase hosting? - Stack Overflow
realtime databaseか firestoreかはたぶんどちらでもだけど、firestoreのほうが後でデータを取り出しやすい?
mail
Google Cloud FunctionsでSendGridを使う?
1つのprojectで multiple sitesを作ることが可能
The Firebase Blog: One project, multiple sites! Plus a boost in upload speed!
code:firebase.json
{"hosting": [
{"target": "blog", "public": "blog/dist"},
{"target": "app", "public": "app/dist"}
]}
targetとは別ものかな。
サイトのライブおよびプレビューチャネル、リリース、バージョンを管理します  |  Firebase
https://gyazo.com/6000a938d88a424ba09a59c61260cdf6
サイトのライブおよびプレビューチャネル、リリース、バージョンを管理します  |  Firebase
ロールバックできる。これは、管理画面からのみっぽい。
別チャネル作成例:
$ firebase hosting:channel:deploy beta
hosting:channel: Channel URL (xxx): https://xxxx--beta-f0l5hx15.web.app expires 2020-12-14 16:03:05
という感じ。1週間限定で出す
カスタムドメインも可能
カスタム ドメインを接続する  |  Firebase
Firebase Hosting は、各ドメイン用の Let's Encrypt で署名された SSL 証明書をプロビジョニングし、グローバル CDN 経由でコンテンツを提供します
FirebaseUIとVue.jsの併用: Firebase Hostingの使用
FirebaseUI + vueでログイン処理 - Qiita
#Netlify